home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / daten / astrolog / src / xdata.c < prev    next >
C/C++ Source or Header  |  1995-08-11  |  24KB  |  550 lines

  1. /*                                                               -*- C -*-
  2. ** Astrolog (Version 4.40) File: xdata.c
  3. **
  4. ** IMPORTANT NOTICE: The graphics database and chart display routines
  5. ** used in this program are Copyright (C) 1991-1995 by Walter D. Pullen
  6. ** (astara@u.washington.edu). Permission is granted to freely use and
  7. ** distribute these routines provided one doesn't sell, restrict, or
  8. ** profit from them in any way. Modification is allowed provided these
  9. ** notices remain with any altered or edited versions of the program.
  10. **
  11. ** The main planetary calculation routines used in this program have
  12. ** been Copyrighted and the core of this program is basically a
  13. ** conversion to C of the routines created by James Neely as listed in
  14. ** Michael Erlewine's 'Manual of Computer Programming for Astrologers',
  15. ** available from Matrix Software. The copyright gives us permission to
  16. ** use the routines for personal use but not to sell them or profit from
  17. ** them in any way.
  18. **
  19. ** The PostScript code within the core graphics routines are programmed
  20. ** and Copyright (C) 1992-1993 by Brian D. Willoughby
  21. ** (brianw@sounds.wa.com). Conditions are identical to those above.
  22. **
  23. ** The extended accurate ephemeris databases and formulas are from the
  24. ** calculation routines in the program "Placalc" and are programmed and
  25. ** Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl
  26. ** (alois@azur.ch). The use of that source code is subject to
  27. ** regulations made by Astrodienst Zurich, and the code is not in the
  28. ** public domain. This copyright notice must not be changed or removed
  29. ** by any user of this program.
  30. **
  31. ** Initial programming 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
  32. ** X Window graphics initially programmed 10/23-29/1991.
  33. ** PostScript graphics initially programmed 11/29-30/1992.
  34. ** Last code change made 1/29/1995.
  35. */
  36.  
  37. /* $VER: $Id: xdata.c,v 1.3 1995/07/02 22:22:43 tf Exp $ */
  38.  
  39. #include "astrolog.h"
  40.  
  41.  
  42. #ifdef GRAPH
  43. /*
  44. ******************************************************************************
  45. ** Graphics Global Variables.
  46. ******************************************************************************
  47. */
  48.  
  49. GS NEAR gs = {
  50.  
  51. #ifdef ISG
  52.   fFalse,
  53. #else
  54.   fTrue,
  55. #endif
  56.  
  57.   fFalse, fFalse, fTrue, fFalse, fFalse, fTrue, fTrue, fFalse,
  58.   fTrue, fTrue, fFalse, fTrue, fFalse, fFalse, fFalse,
  59.   DEFAULTX, DEFAULTY, 0, 200, 0, 0, 0, 0.0,
  60.   BITMAPMODE, 0, 8.5, 11.0, NULL, oCore, 111
  61.  
  62. #ifdef PCG
  63.   , DEFHIRESMODE, DEFLORESMODE
  64. #endif
  65.   };
  66.  
  67. GI NEAR gi = {
  68.   gWheel, fFalse, -1,
  69.   NULL, 0, NULL, NULL, 0, fFalse,
  70.   2, 1, 10, kWhite, kBlack, kLtGray, kDkGray, 0, 0, 0, 0, -1, -1
  71. #ifdef X11
  72.   , NULL, 0, 0, 0, 0, 0, 0, 0, 0
  73. #endif
  74. #ifdef PS
  75.   , fFalse, 0, fFalse, 0, 0, 1.0
  76. #endif
  77. #ifdef META
  78.   , NULL, NULL, MAXMETA, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
  79. #endif
  80. #ifdef MSG
  81.   , -1000
  82. #endif
  83.  
  84. #ifdef BGI
  85.   , -1000, fFalse, VGA, VGAHI, 1, 0
  86. #endif
  87.  
  88. #ifdef AMIGA
  89.   , NULL, NULL, NULL, 0   /* rp, win, scr, paging */
  90. #endif
  91.  
  92.   };
  93.  
  94. /* Color tables for Astrolog's graphics palette. */
  95.  
  96. CONST KV ARR rgbbmp[] = {
  97.   0x000000L, 0x00007FL, 0x007F00L, 0x007F7FL,
  98.   0x7F0000L, 0x7F007FL, 0x7F7F00L, 0xBFBFBFL,
  99.   0x7F7F7FL, 0x0000FFL, 0x00FF00L, 0x00FFFFL,
  100.   0xFF0000L, 0xFF00FFL, 0xFFFF00L, 0xFFFFFFL};
  101.  
  102. #ifdef MSG
  103. CONST KV rgb[] = {
  104.   _BLACK, 
  105.   _RED, 
  106.   _GREEN, 
  107.   _BROWN,
  108.   _BLUE,
  109.   _MAGENTA, 
  110.   _CYAN, 
  111.   _WHITE,
  112.   _GRAY, 
  113.   _LIGHTRED, 
  114.   _LIGHTGREEN, 
  115.   _YELLOW,
  116.   _LIGHTBLUE, 
  117.   _LIGHTMAGENTA,
  118.   _LIGHTCYAN, 
  119.   _BRIGHTWHITE
  120. };
  121. #endif
  122.  
  123. #ifdef BGI
  124. CONST KV ARR rgb[] = {
  125.   EGA_BLACK, 
  126.   EGA_RED, 
  127.   EGA_GREEN, 
  128.   EGA_BROWN,
  129.   EGA_BLUE, 
  130.   EGA_MAGENTA,
  131.   EGA_CYAN, 
  132.   EGA_LIGHTGRAY,
  133.   EGA_DARKGRAY, 
  134.   EGA_LIGHTRED, 
  135.   EGA_LIGHTGREEN, 
  136.   EGA_YELLOW,
  137.   EGA_LIGHTBLUE, 
  138.   EGA_LIGHTMAGENTA, 
  139.   EGA_LIGHTCYAN, 
  140.   EGA_WHITE
  141. };
  142. #endif
  143.  
  144. #ifdef X11
  145. CONST char *szColorX[] = {
  146.   "black", 
  147.   "orangered3", 
  148.   "green4", 
  149.   "darkorange2",
  150.   "blue4", 
  151.   "violet",
  152.   "cyan4", 
  153.   "grey65",
  154.   "grey35",
  155.   "orangered1", 
  156.   "green1", 
  157.   "yellow1",
  158.   "blue1", 
  159.   "pink", 
  160.   "cyan1", 
  161.   "white"
  162. };
  163. KV rgbind[16], fg, bg;
  164. #endif
  165.  
  166. /* These are the actual color arrays and variables used by the program.      */
  167. /* Technically, Astrolog always assumes we are drawning on a color terminal; */
  168. /* for B/W graphics, all the values below are filled with black or white.    */
  169.  
  170. KI kMainB[9], kRainbowB[7+1],
  171.   kElemB[4], kAspB[cAspect+1], kObjB[objMax];
  172.  
  173. /* Some physical X window variables dealing with the window itself. */
  174.  
  175. #ifdef X11
  176. XSizeHints hint;
  177.  
  178. #if FALSE
  179. XWMHints *wmhint;
  180. #endif
  181.  
  182. char xkey[10];
  183. #endif
  184.  
  185.  
  186. /*
  187. ******************************************************************************
  188. ** Graphics Table Data.
  189. ******************************************************************************
  190. */
  191.  
  192. #ifdef STROKE
  193. char szObjectFont[] = ";QRSTUVWXYZ     <    a  c     b  ";
  194. CONST char szAspectFont[] = "!\"#$'&%()+-       ";
  195. #endif
  196.  
  197. char * ARR szDrawSign[] = {"",
  198.   "ND4HU2HLGDFBR6EUHLGD2G",                 /* Aries       */
  199.   "BL3D2F2R2E2U2H2NE2L2NH2G2",              /* Taurus      */
  200.   "BLU3LHBR7GLNL3D6NL3RFBL7ERU3",           /* Gemini      */
  201.   "BGNDHLGDFRNEFR2EREBU3NHDGLHUENRHL2GLG",  /* Cancer      */
  202.   "BF4H2UEU2H2L2G2D2FDGH",                  /* Leo         */
  203.   "BF4BLHNGNHEU5GHND5HGND6HGND6H",          /* Virgo       */
  204.   "BGNL3HUER2FDGR3BD2L8",                   /* Libra       */
  205.   "BH4FND6EFND6EFD6FREU",                   /* Scorpio     */
  206.   "BG4E3NH2NF2E5NL2D2",                     /* Sagittarius */
  207.   "",                                       /* Capricorn   */
  208.   "BG4EUEDFDEUEDFDEUEBU5GDGUHUGDGUHUGDG",   /* Aquarius    */
  209.   "NL4NR4BH4F2D4G2BR8H2U4E2",               /* Pisces      */
  210.   "BH3NLNUD3FND2EU2ENF2UFERFDGLF2D2G",      /* Capricorn #1 */
  211.   "BH4RFR2ER3G3D2GDFR2EU2HL3G2DG"};         /* Capricorn #2 */
  212.  
  213. char * ARR szDrawObject[] = {
  214.   "ND4NL4NR4U4LGLDGD2FDRFR2ERUEU2HULHL",    /* Earth   */
  215.   "U0BH3DGD2FDRFR2ERUEU2HULHL2GL",          /* Sun     */
  216.   "BG3E2U2H2ER2FRDFD2GDLGL2H",              /* Moon    */
  217.   "BD4UNL2NR2U2REU2HNEL2NHGD2FR",           /* Mercury */
  218.   "LHU2ER2FD2GLD2NL2NR2D2",                 /* Venus   */
  219.   "HLG2DF2RE2UHE4ND2L2",                    /* Mars    */
  220.   "BH3RFDGDGDR5NDNR2U6E",                   /* Jupiter */
  221.   "BH3R2NUNR2D3ND3RERFDGDF",                /* Saturn  */
  222.   "",                                       /* Uranus  */
  223.   "BD4U2NL2NR2U5NUNRLBL2NUNLDF2R2E2UNRU",   /* Neptune */
  224.   "",                                       /* Pluto   */
  225.   "BG2LDFEULU3NURFRFBU5GLGLU2",             /* Chiron          */
  226.   "BD4UNL3NR3U2RE2UH2L2G",                  /* Ceres           */
  227.   "BD4UNL3NR3UE2HUHNUGDGF2",                /* Pallas Athena   */
  228.   "BD4UNL2NR2U4NL4NR4NE3NF3NG3NH3U3",       /* Juno            */
  229.   "BU4DBG3NLFDF2E2UERBH2GDGHUH",            /* Vesta           */
  230.   "BG2LGFEU2HU2E2R2F2D2GD2FEHL",            /* North Node      */
  231.   "",                                       /* Lilith          */
  232.   "NE2NF2NG2H2GD2F2R2E2U2H2L2G",            /* Part of Fortune */
  233.   "U2NHNEBD4NGNFU2L2NHNGR4NEF",             /* Vertex          */
  234.   "BH4NR3D4NR2D4R3BR2U8R2FD2GL2",           /* East Point      */
  235.   "BG4U4NR2U3EFD7BR2NURU2HU2RDBR3ULD5RU",   /* Ascendant  */
  236.   "BH3ER4FD2GLGLG2DR6",                     /* 2nd Cusp   */
  237.   "BH3ER4FD2GNL3FD2GL4H",                   /* 3rd Cusp   */
  238.   "BH4R2NR2D8NL2R2BR4NUL2U8R2D",            /* Nadir      */
  239.   "BG3FR4EU2HL5U4R6",                       /* 5th Cusp   */
  240.   "BE3HL4GD6FR4EU2HL4G",                    /* 6th Cusp   */
  241.   "BH4D8REU6HLBF7DRU2HU2RDBG4NRU3NRU2R",    /* Descendant */
  242.   "BL2GD2FR4EU2HNL4EU2HL4GD2F",             /* 8th Cusp   */
  243.   "BG3FR4EU6HL4GD2FR4E",                    /* 9th Cusp   */
  244.   "BG4U8F2ND6E2D8BR4NUL2U8R2D",             /* Midheaven  */
  245.   "BH3ED8NLRBR2RNRU8G",                     /* 11th Cusp  */
  246.   "BG4RNRU8GBR4ER2FD2GLG2D2R4",             /* 12th Cusp  */
  247.   "BH4BRFDG2DR8BG3UNL2NR2U5LUEFDL",         /* Cupido    */
  248.   "BENUNL2NR2D3ND2NR2L2H2U2E2R4",           /* Hades     */
  249.   "BU4NG2NF2D7NDBLHLBR6LGL2GLBR6LHL",       /* Zeus      */
  250.   "BU2D3ND3NR2L2BH2UE2R4F2D",               /* Kronos    */
  251.   "U3NLR2NRD3NL2NR2D4NRL2NLU4L4UEUH",       /* Apollon   */
  252.   "BUNU2NL2NR2D2ND3LHU2ENHR2NEFD2GL",       /* Admetos   */
  253.   "G2DGR6HUH2U4NG2F2",                      /* Vulcanus  */
  254.   "ND4U4BL3DF2R2E2UBD8UH2L2G2D",            /* Poseidon  */
  255.   "BD4NEHURBFULU3NUNR2L2NU2DGBU5NFBR6GD3F", /* Uranus #1 */
  256.   "BD2D0BU6NG2NF2D4LGD2FR2EU2HL",           /* Uranus #2 */
  257.   "D2NL2NR2D2BU8GFEHBL3D2F2R2E2U2",         /* Pluto  #1 */
  258.   "BL3R5EU2HL5D8R5",                        /* Pluto  #2 */
  259.   "BG4E8BG2FD2G2L2H2U2E2R2F",               /* Lilith #1 */
  260.   "UERHL2G2D2F2R2ELHU",                     /* Lilith #2 */
  261.   "BH2LHEFD2GD2F2R2E2U2HU2EFGL"             /* Lilith #3 */
  262.   };
  263.  
  264. CONST char * ARR szDrawHouse[] = {"",
  265.   "BD2NLNRU4L", "BHBUR2D2L2D2R2", "BHBUR2D2NL2D2L2",
  266.   "BHBUD2R2NU2D2", "BEBUL2D2R2D2L2", "NLRD2L2U4R2",
  267.   "BHBUR2DG2D", "NRLU2R2D4L2U2", "NRLU2R2D4L2",
  268.   "BH2NLD4NLRBR2U4R2D4L2", "BH2NLD4NLRBR2RNRU4L", "BH2NLD4NLRBR2NR2U2R2U2L2"};
  269.  
  270. CONST char * ARR szDrawAspect[] = {"",
  271.   "HLG2DF2RE2UHE4",                         /* Conjunction      */
  272.   "BGL2GDFREU2E2U2ERFDGL2",                 /* Opposition       */
  273.   "BH4R8D8L8U8",                            /* Square           */
  274.   "BU4GDGDGDGDR8UHUHUHUH",                  /* Trine            */
  275.   "BLNH3NG3RNU4ND4RNE3F3",                  /* Sextile          */
  276.   "BG4EUEUEUEUNL4NR4BDFDFDFDF",             /* Inconjunct       */
  277.   "BH4FDFDFDFDNL4NR4BUEUEUEUE",             /* Semisextile      */
  278.   "BE4G8R8",                                /* Semisquare       */
  279.   "BD2L3U6R6D6L3D2R2",                      /* Sesquiquadrature */
  280.   "F4BU3U2HULHL2GLDGD2FDRFR2E3",            /* Quintile         */
  281.   "BD2U3NR3NU3L3BD5R6",                     /* Biquintile       */
  282.   "BU2D3NR3ND3L3BU5R6",                     /* Semiquintile     */
  283.   "BH3R6G6",                                /* Septile      */
  284.   "BR3L5HUER4FD4GL4H",                      /* Novile       */
  285.   "BF2UHL2GFR3DGL3BE6LNLU2NRLBL4LNLD2NLR",  /* Binovile     */
  286.   "BL2R4G4BE6LNLU2NRLBL4LNLD2NLR",          /* Biseptile    */
  287.   "BL2R4G4BE6L7NLU2NLR3ND2R3ND2R",          /* Triseptile   */
  288.   "BF2UHL2GFR3DGL3BU6LNLU2NLRBR2F2E2"};     /* Quatronovile */
  289.  
  290. CONST char * ARR szDrawCh[] = {"",
  291.   "BR2D4BD2D0", "BRD2BR2U2", "BD2R4BD2L4BFU4BR2D4", "BR2D6BENL3EHL2HER3",
  292.   "RDLNUBR4G4BR4DLUR", "BD2NF4UEFDG2DFRE2", "BR2DG", "BR3G2D2F2", "BRF2D2G2",
  293.   "BD2FNGRNU2ND2RNEF", "BD3R2NU2ND2R2", "BD5BR2DG", "BD3R4", "BD6BRRULD",
  294.   "BD5E4", /* Special Characters */
  295.  
  296.   "BDD4NE4FR2EU4HL2G", "BFED6NLR", "BDER2FDG4R4", "BDER2FDGNLFDGL2H",
  297.   "D3R3NU3ND3R", "NR4D3R3FDGL2H", "BR3NFL2GD4FR2EUHL3", "R4DG4D",
  298.   "BDDFNR2GDFR2EUHEUHL2G", "BD5FR2EU4HL2GDFR3", /* Numbers */
  299.  
  300.   "BR2BD2D0BD2D0", "BR2BD2D0BD2G", "BR3G3F3", "BD2R4BD2L4", "BRF3G3",
  301.   "BDER2FDGLDBD2D0", "BF2DFEU2HL2GD4FR2", /* Special Characters */
  302.  
  303.   "BD6U4E2F2D2NL4D2", "D6R3EUHNL3EUHL3", "BR3NFL2GD4FR2E", "D6R2E2U2H2L2",
  304.   "NR4D3NR3D3R4", "NR4D3NR3D3", "BR3NFL2GD4FR2EU2L2", "D3ND3R4NU3D3",
  305.   "BRRNRD6NLR", "BD4DFR2EU5", "D3ND3RNE3F3", "D6R4", "ND6F2NDE2D6",
  306.   "ND6F4ND2U4", "BDD4FR2EU4HL2G", "R3FDGL3NU3D3", "BDD4FRENHNFEU3HL2G",
  307.   "ND6R3FDGL2NLF3", "BR3NFL2GDFR2FDGL2H", "R2NR2D6", "D5FR2EU5",
  308.   "D2FDFNDEUEU2", "D6E2NUF2U6", "DF4DBL4UE4U", "D2FRND3REU2",
  309.   "R4DG4DR4", /* Upper Case Letters */
  310.  
  311.   "BR3L2D6R2", "BDF4", "BRR2D6L2", "BD2E2F2", "BD6R4", "BR2DF", /* Symbols */
  312.  
  313.   "BF4G2LHU2ER2FD3", "D5NDFR2EU2HL2G", "BF4BUHL2GD2FR2E", "BR4D5NDGL2HU2ER2F",
  314.   "BD4R4UHL2GD2FR3", "BD3RNR3ND3U2ERF", "BD8R3EU4HL2GD2FR2E", "D3ND3ER2FD3",
  315.   "BR2D0BD2D4", "BR2D0BD2D5GLH", "D4ND2REREBD4HLH", "BR2D6",
  316.   "BD2DND3EFNDEFD3", "BD2DND3ER2FD3", "BD3D2FR2EU2HL2G", "BD2DND5ER2FD2GL2H",
  317.   "BR4BD8U5HL2GD2FR2E", "BD2DND3ER2F", "BD6R3EHL2HER3", "BR2D2NL2NR2D4",
  318.   "BD2D3FRE2NU2D2", "BD2DFDFEUEU", "BD2D3FENUFEU3", "BD2F2NG2NE2F2",
  319.   "BD2D3FR2ENU3D2GL3", "BD2R4G4R4", /* Lower Case Letters */
  320.  
  321.   "BR3GDGFDF", "BR2D2BD2D2", "BRFDFGDG", "BFEFE", "BD6R4",
  322.   "BR2FGHE"}; /* Symbols */
  323.  
  324. CONST char * ARR szWorldData[] = {
  325. "-031+70",
  326. "LLRRHLLLLDULLGLLLDULGLLLGLRREDEGGLGGLGLGLLGDRLDRLFFRRERFDFRRREUEEHLUERERUERR\
  327. FGLGLDDFRRRRREFRLGLLLLLGEFDLHGDDLGHLGLLHGLHURDLRRELLLRHUGLDFDLGLLFHGGLGLLLDLL\
  328. LDRRFFDDGLLLLLLGDFGDDRRFRERREEUEREUEFRRERRFFFRFRDDLLLLRFRUREURULHLHHHEF",
  329. "5EUROPE",
  330. "+006+50", "RRERRRRUELLUHHLLREULLELLDGHDUFDEGRDRRLFDLLRGRRGGL", "5ENGLAND",
  331. "+008+55", "GLFGRRREUULL", "5IRELAND",
  332. "+023+64", "RRFRERRREHLLLLLGHLLRFLLRFL", "5ICELAND",
  333. "-011+80", "DDURFRERLGRRLLFRRREEFRRRLHGELLLHRRFRRRRERLLLLLLLLLLLDHGULLL",
  334. "5SVALBARD",
  335. "-014+45",
  336. "FRFRFDDFRDRRLLFRURFHHUERRRRRHUUEERRRRGRDERRLHLRRERRGGRFRFFGLLLLHLLLLGLLDLLLF\
  337. GRFFRERFRERDDDGDGLLDFFEUDDFFDFFDDFFFDFDDDRRERRERRRUERRERURUEEHHLHUGGLLLUUGUHU\
  338. HURRFFRFRRRDRRFRRRRRRRF",
  339. "5MIDDLE EAST",
  340. "-009+41", "DDRUULEUGD", "5SARDINIA",
  341. "-024+35", "RRLL", "5CRETE",
  342. "-032+35", "RRLL", "5CYPRUS",
  343. "-052+37", "LLHUURHUHUHERERRRDDLLLFFDDURFLLDFDDL", "0CASPAIN SEA",
  344. "-060+44", "LLUEERDFLDL", "0ARAL SEA",
  345. "-068+24",
  346. "FRGFRREDDDDDFDFDDFDDFERUEUUUUEEEEEREURRREFDFRDDDDRREFDDFDDGDDRFDDFDFFRUHUUHH\
  347. HULUEUUURDRFDFRDEEREUUUHHHUUEERRDDEURRERREREEEUEULLREUHUHLEERRHLGLULUREERDLDR\
  348. ERRFGRFDGRRREUHHUREUE",
  349. "6ASIA S",
  350. "-140+36",
  351. "DEUUEUHURREREEGLLHHDDGLDRGDDGGLGLLLGGLDLRDFEUHRRGEERDLLRGLRERRERRE",
  352. "6JAPAN",
  353. "-121+25", "GDFUEUL", "6TAIWAN",
  354. "-080+10", "DDDDREUHH", "6SRI LANKA",
  355. "-121+18", "LDDDRDDRHRRFFDDDLLEHDULRHDFDDGERDDREUUULUUHHLHEUUL",
  356. "2PHILIPPINES",
  357. "-131+43",
  358. "EFREEREEEUUUEUHLLUDLULEERERERRRRRRERRFLRRRRLUERERRRDRERURRGDLGLGLGLGGDDFDFEU\
  359. RRUERUURULEEREDERRFRERERRRERRHLHLRRRREURDRRFRFRUURRHLLLDHHLLHLLHLLLLLLLDLLHRL\
  360. LLLLLLGHULLLLLLLLLLULLLGL",
  361. "6SIBERIA",
  362. "-145+71",
  363. "RELLRHLLLLGDHGHLLLLGLLHUHLLLLLDLLLLHLLLLLDULUDLGLLLLRRERERRRELHLLLLLLLELLLLG\
  364. DLLLLLUDLLLLLGLLLDLLLLLLLDFRDDHELLLLLLDRRLLHUDLGFGRRRRFRLHLLDGLGLLHRRREUHUUUL\
  365. LGGLDRFGHLLLHLLLLRFGHLGLLLULGLLLGLLHRHLDDDLLLLDLLLFLLHUHLRRFRRRREHLLHLLLHLLL",
  366. "6RUSSIA",
  367. "-143+54", "GDDDDDDDEDUUURUUHUU", "6SAKHALIN",
  368. "-180+72", "GRRRRULLL", "6WRANGEL I.",
  369. "-137+76", "DRRRRRRRELLLLLLLL", "6SIBERIAN I.",
  370. "-091+80", "FERDRRRRRRULLLLLRRULLLLGL", "6SEVERNAYA",
  371. "-101+79", "GRRRRELLLL", "6ZEMLYA",
  372. "-068+77", "LLGLLLLLLGLLGGLGLRFRRRRLHERERERRRERRRREL", "6NOVAYA",
  373. "+123+49",
  374. "FGULLFDDDGFDDDFFDFRFRFDFFFDLFFRDFFEHHHHUHHUFRDFFFRDFFFDFGFRFRFRRFRRRRFFRRFRF\
  375. FDRFFRFEUUGLHHUUEUHLLLLLEUUEULLLGDLLGLHHUHUUUEHEERERRFRRHRREFRRFDFDFEUUHUUUEE\
  376. RERUUUHFDEUHFEURRRELUERRE",
  377. "4NORTH AMERICA S",
  378. "+113+42", "FH", "0SALT LAKE",
  379. "+156+20", "DRULHLHL", "4HAWAII",
  380. "+085+22", "RERFRRFRGRRRRHLHLHLLLLLG", "4CUBA",
  381. "+070+18", "RRHHLLLFLLLFRRRRRR", "4HAITI",
  382. "+078+18", "RRHLLF", "4JAMAICA",
  383. "+066+18", "ELLDR", "4PUERTO RICO",
  384. "+078+24", "UD", "4NASSAU",
  385. "+067+45",
  386. "REFLGDERERREHDLLLHUELLLGLGLREEERRRRRRREERRGGDGRRRFEFUUHLLLEUUHHGLRELLHHUHHHD\
  387. GLGHHULLHLLLLLDFGFDDGLLFDDGHHUULLLLHLLHLLLUHUUEREEREERRRREUUHLLLDDGHULLLHLUHL\
  388. GDRFGGULLLLLLLLLHLLGFLHLLLLLRHLLLLLHLLLLLLHGLLLLGUGLLLHLL",
  389. "4CANADA",
  390. "+088+49",
  391. "LGLGRRRRRRRFLLLGRGDDREUURUFRGRFGFERERREEREERLGGLGLLLGRLLGLEUERHLLLHULHL",
  392. "0GREAT LAKES",
  393. "+117+61", "REHRFRRERGLGLLLL", "0SLAVE LAKE",
  394. "+125+66", "RRERRRGREDLFHGLLLERLLLL", "0BEAR LAKE",
  395. "+097+50", "UULHURFDFG", "0LAKE WINNIPEG",
  396. "+090+72",
  397. "FRRLLFRRRRRRRRRRFRRGLLGRREEFRFLGLFLLLLFRERFRFRRFRRHLHFRRRUHLHRRFRURELLHLLLHR\
  398. RHLHLHGHLHLLGLLEHFRRRHLLLLLLGLDFHLUELLGG",
  399. "4BAFFIN I.",
  400. "+125+72",
  401. "RFRREERRRLLGFFRRRRRLLLLLFRRRRRRRREFRRRRHRRLHLHHLRRULGLFLHLDLLULLLLHLLLLLLLDG",
  402. "4VICTORIA I.",
  403. "+141+70",
  404. "LLLLLLLLHGLHLLLHGLLGLLGLLDRRFRRDLLLULGLLFRRRRRRDLGLLGFDRRRDRRRRRGGGLLGLLGGLL\
  405. RRERERRRERREERRELEERRRLLGDRERRURRFRRRRRFRRFUDRUDDHFDURDURLURDDLFRULURDHFFRGFE\
  406. GRFFRFRFLHLHLFFRFE",
  407. "4ALASKA",
  408. "+045+60",
  409. "REUEREUERRRRERERRRERRRRERLLLLLLHRRRGERHFRRRRHLUDLLHLRERFRERLEUHRRHLEERLLURRR\
  410. RRRRRELLLLLLLLLLGLLLRERHGLRELLLLLLLELLLLLLLLLLGLLLLLLGLLLLLLGLULLLLLLLFRLLLLL\
  411. GLRRRGLLLLLLLGRRRRRRRGLLLLRRFRRRRRRRRRRFDFDLFREFRDLLLDERRFGLLGFFDRFFFRRRF",
  412. "4GREENLAND",
  413. "+080+10",
  414. "DRFDFDDGGGDDGRDGDDFFDFDFFDFFRFFFDDDDDDGDDDDGDDDDGDGFGDDDEUDDDGUDDLDRGDDDFDFR\
  415. FRRFERRLHLUHUURUEELHEREURULURREURREREUHUUDFRREEEEEUEUUEERERRREUEUEUUUUUEEEEUU\
  416. UHLHLHLLLLHLHLGEHLGEUHUUHLHLLLHHLHULEDLLELLGHLLHLGDDHUELLGLGDGHHL",
  417. "3SOUTH AMERICA",
  418. "+060-51", "LDRRELL", "3FALKLAND ISLANDS",
  419. "+092+00", "FUL", "3GALAPAGOS I.",
  420. "-032+32",
  421. "LLGLHLLLLHLGDGHLLHHLLHLEUULLLLLLLLLGLGLLLLHDGLGDGDGGLDGGGDGDFDDDDGDDFFFFDFRF\
  422. FRRRRRRRRERERRFFRRFFDDDGDFFFDFDDDFDGDGDDDFDFDFDDDFDFDFDDFFERRRRREEEEEEEUUEREU\
  423. UHUEEEREEUUUUHUUUHUEUEEEEEREEUEUEEUUULLLLGLLHUHHLHUHHUUHHUUHUHHUU",
  424. "1AFRICA",
  425. "-049-12", "DGGGLGDDDDGDDFFREUEUEUUUEUUUUH", "1MADAGASCAR",
  426. "-032+00", "DDDREUELLL", "0LAKE VICTORIA",
  427. "-014+14", "LRFLU", "0LAKE CHAD",
  428. "-124-16",
  429. "LGDGGLGLLGLDDDGFDDFDFDGFRRRERRRRURERRRRRRRFFFEEDDRFDFRFREFRERRUUEUEEUUUUUUUH\
  430. HHHHHHUUHHHUULDDDDGDGHLHLHEUELLLHLFLLULDRGDDLLHLGG",
  431. "2AUSTRALIA",
  432. "-173-35", "FFDGFDREURULHHHL", "2NEW ZEALAND N",
  433. "-174-41", "LLDGLGLGGRFREEUREEU", "2NEW ZEALAND S",
  434. "-145-41", "DFRRUUUDLLL", "2TASMANIA",
  435. "-178-17", "GRRURUGDH", "2FIJI",
  436. "-130+00", "FRFRLGFEFRFRFDGRRFRRUERFFFRRRLHHHHRHLHHLHLLHGGLHUHLGH",
  437. "2NEW GUINEA",
  438. "-115-04", "RUUEEURHUUEHHGGGGLLDDHLDDFDDRRDERF", "2BORNEO",
  439. "-095+06", "DFFFFFFDFFFFRUUUHFRHLHLUHHHHHLLH", "2SUMATRA",
  440. "-106-06", "GRFRRRRRRFRRHLHLLLLLHL", "2JAVA",
  441. "-120+00", "DGDDRDFHUEDFRHUHREFHLGHURRRRELLLLG", "2CELEBES",
  442. "+000-70",
  443. "ULDLLLLLLLLGLLGLLLGLLGLLLLGLGLLGLLLLGLLLLLHLGLLLLLHLLLLLHLLLLHLLUERLEUUUUUUE\
  444. ERRRULLGLLLLGLGGLLLDRUDRDLGHLLGLLFGRRFLLLLLLLDHLLLLHLLLLLGLLLLHLLLLLLLGRFDLLL\
  445. ULLLGHLLLLLLLLLLHGHLLGLLLLLLLGLLLLLLLLLLLGLLLGLLLLLLLLGLLLLLLLLLLLLLLLLLLLLL",
  446. "7ANTARCTICA W",
  447. "+180-78",
  448. "LLLLLLLHLLGHLLGHLUEERRERREHLLLLHLLLLLLHLLLLLLLLLLLHLHLLLLLHLLULDLLLLLDLLHLLL\
  449. LGHFLLLLLHLLLLLLGLHLLHLGLLLLHLGLLGLLLULLLGLLHDFLLLGLGLLLELLLLHLLLLLLLLLLHLLLH\
  450. LLLLGGHGHGLLLGLDLLLLHLLGHGLLLLLLLLLLLLLLHLGLLLLLLLLLLLLLL",
  451. "7ANTARCTICA E",
  452. "", "", ""};
  453.  
  454. #ifdef CONSTEL
  455. CONST char * ARR szDrawConstel[] = {"",
  456. "550210+51DDd3r8d2Rr7d2Rr3Dd5l2d3r10uru6rUu2Rr2ur4u2RrUUu3Ll7d2l3DdLl5d2Lu2l4Uul8Dd2Ll3Uul7", /* Andromeda */
  457. "660913-25d2Ll5Dl5d2l4d4LlDRRr8Uu5l6", /* Antila */
  458. "561804-68DDd3RRRRRr2Uu9LLLLl3Uu2Ll4", /* Apus */
  459. "362213+02Dd3Ll14DDd5RRrUUur7Dd4Rr6UUu2Ll9ul3dLl13", /* Aquarius */
  460. "562003+16Ddl3d7l3Dd9r7Dd2RRUu6r5Uu2l4u4r3Uu2l3u7Lld2l13dLl3", /* Aquila */
  461. "641803-45Dd7Rr5Dd8Ru3rur2u3r3UUu5LLl3", /* Ara */
  462. "560307+31DDrd9RRr3Uu6Llu2l7UuLl7", /* Aries */
  463. "650604+56d2l6Dl4d6Ll7Dd5Rr5Dd2RuRr2Ur4u6l3UUu3Ll3u3Ll4", /* Auriga */
  464. "431504+55d2l8DDdr4d7r4Dd5rDDd2RRr6UUu8LlUlUUu5Ll4", /* Bootes */
  465. "560501-27DDd3Rr2d3r5d3r4Uu3l5Ul2u3Ll", /* Caelum */
  466. "751407+86DdRr6d3RRr6u3Rr2UuRr9Dd7Rr12DDRr12u2Rr11Dd4Rr12d3RRr8u2r2u2rUu8l6Uu7lULLl6u5LLLl5uLLLLLLl7", /* Camelopardalis */
  467. "550906+33DDDd3Rr14URrULu8l2Uu3Ll6", /* Cancer */
  468. "551309+52Dd2Ll2DDrd2Rr9UuRr8u2r5Uu4lUu2Ll9", /* Canes Venatici */
  469. "550707-11DDd3Rr12UUu9Ll7", /* Canis Major */
  470. "660714+13DLld3l2DRr10ur3Uu2l7ul5", /* Canis Minor */
  471. "562114-09DDd5r7d2Rr13UUul7Dd4Ll7Uul7", /* Capricornus */
  472. "360804-51d2l4d2l5d2LLLl5DDd5RRRUu6RRr2Uu2r4u3r6u2r2u2LLl4", /* Carina */
  473. "440310+77Dd2r6Dd3Rr6u2Rdr3d3r4d4r4DdRd2r10u2Rr5Uur3u2RrULl4u4l6u3Ll6Uu7LLLl10", /* Cassiopeia */
  474. "551501-30Dd3Rr11Dd5l6Dd4RRrUu5RrDd4r9Uu3r4UUu4Ll5u2l5ULLLl", /* Centaurus */
  475. "850805+88d3RRRr9DRRr4d3RRRr9Dd3Rr5d3r6DRrd3r7dr3d3r3u2RRr5UurdRu2l7u5l3Uu5r9Uul12u5LLl14u2LLLLLLLLLLl5", /* Cepheus */
  476. "560306+11DDdRr4DDd4Rr4dRRrUUu4Ll7Uu3LLl2UuLl6", /* Cetus */
  477. "561313-75Dd3RRRRRRr6Uu5LLLLLLl13", /* Chamaeleon */
  478. "341507-55Ddr2d3r3d4RrDdRr2Uu5r2uLl10Uu5Ll7", /* Circinus */
  479. "660603-27Dd3l7Dd3Rr14UUu3Ll3", /* Columba */
  480. "561207+33d2Ll6Dd2l3Dd6RrdRUu8l2Uu3l5", /* Coma Berenices */
  481. "561905-37Dd5RRUu3Ll5", /* Corona Australis */
  482. "451606+39Dd4r2dRr11Uu2l4u7Ll6", /* Corona Borealis */
  483. "551214-12Dd3r4d2RrUu8Ll14", /* Corvus */
  484. "551114-07DDd5RrUrUu3Ll14", /* Crater */
  485. "561214-55Dd4RrUu5Ll14", /* Crux */
  486. "552010+61Dd5LLlDd5RdrDd4r2Dd2RuRr4d2r6Ulu7lUu4r4u4rUu6l5u2l5ULl9ul", /* Cygnus */
  487. "542010+21DLl2d8RrDd4rd4r7u7r3Uu6l2Uul5", /* Delphinus */
  488. "570408-49Dd4Lld3l7DdLd3l8DRRr6Uur3u3r5u3Rr2u2Ll2Uul6", /* Dorado */
  489. "352013+86d5r12Dd5l9Dd3r3d5RDr3d2r5d2r5Dd2Rr10UuRr14uRRr3ur8u2Rr8Uu2Rr7uRr14u3Rr8Uu3RRr9UuLl13DdLl9d3LLlDdLd4Ll10ULl8u5Ll7Ul7u6LLLl13", /* Draco */
  490. "562107+13Dd8Rr2u4lUu2Ll3ul4", /* Equuleus */
  491. "430411+00d4Ll3DdRd3rDd7r3Dr2d7r5DRrd4r7d2r6d3Rr4Ddr4d3r4d4Rr8u5l3u2l4Uu2Ll6U\
  492. Llul7u4l4Uu6Rr4UUu9Ll10ULl11", /* Eridanus */
  493. "550312-24Dd5r4d4r7DRRr4Uu6LLl12", /* Fornax */
  494. "560713+35d2Ll2Dd2RDrd7r5dr7Dru2Rr9u6rUu2Ru6l10Uu5Ll13", /* Gemini */
  495. "442307-36DDd6Rr13UuRr8Uu4LLl7", /* Grus */
  496. "551805+51Dd2rDDl3d4l7Dd8r8u2Rr9dRr2Dd6r10Uu6RUu2l2u3l2ul2Uu9Rr3UUu2LLldLl5", /* Hercules */
  497. "770404-40d9r2DdRr2d2r5d4r4Dd7Rr12Uu6l4u3l4UuLlu3l6u2l7ULl4", /* Horologium */
  498. "760910+07DDd2Ll13Dld5LLl10u2LLl6d2LlDRRRr5d4r5d2RRru4r4Ur5u3Rr2u2r10URr5u2r3u7r4UUu7Ll10", /* Hydra */
  499. "560203-58Dd7LLl9Dd5Rr8Dd2RRRr14Uu6l12dLl6UUu2Ll3", /* Hydrus */
  500. "742107-45d4Ll2DDd7Ll7Dd4RRr8UURr8Uu5Ll7", /* Indus */
  501. "562214+57DDd5r13uRrUu4LulUu3l3u3l3ul7", /* Lacerta */
  502. "551200+28DDr6Dd7Rr2Uu7Rr9UUUu3LDd2l9d5l4u2Ll2u3L", /* Leo */
  503. "451004+41Ddl9d6Ll2Dd5Rr2d2r4u5RUu3r9u6l5UuLl4", /* Leo Minor */
  504. "550603-11Dd7RRrUu6Lu3Ll3", /* Lepus */
  505. "551600-04DDdr3Dr11u5Rr9UUu2l6u7Ll3d3L", /* Libra */
  506. "331602-30Dd2Rr3d6r5Dd4r4dRr11Uu7LlUULl2", /* Lupus */
  507. "640703+62DLl9Dd4Ll5d5l6Ddr5d6RRr2u2r6Uu4RrUr4u4r6Uu2Ll3", /* Lynx */
  508. "551903+48d4l4Dd3rDrd5Rrur7Ur3Uu8Ll3", /* Lyra */
  509. "560608-70d5Ll9Dd5RRRRr8Uu5Ll9ULLl8", /* Mensa */
  510. "552107-27DDd5Rr8UUu3Ll7", /* Microscopium */
  511. "470701+12Dld9l3DLl3DdRRRrUu6Ll5UUlu2Ll", /* Monoceros */
  512. "561311-64dl2Dd5RRr10Uu6LLl11", /* Musca */
  513. "561609-42DDRr8u5r4ul4Uu2l5u6Ll9", /* Norma */
  514. "270000-74lDd2LLLl7d3LLLLl9u2LLLLLLLLLLLl4Uu6LLLLLL", /* Octans */
  515. "641806+14d2l5Dd4r5d2l2dr2DRrd4LlDRr3d2rUr7d6l7DDRr2u5r7UlurUu2Ru4l6Uu4l7Uu3Ll6uLl6", /* Ophiuchus */
  516. "560600+23dl5Dd2lDrDd4RrDdr11Uu6Rr4UrUu5Llul5dl4d3l3u6rUu3L", /* Orion */
  517. "552007-57DLl7Dd4RRRr11Uu2Rr5Uu3LLLl7", /* Pavo */
  518. "552201+36dLl9d2l4dLl2Ddld6lDd7r2d2RrDd2Rr2d6Rr3ur3dr2Uu3r4drUl3u4l3u4l4Uu6Ll", /* Pegasus */
  519. "460209+59d2Ll5d2l2d2Ll12DDd4r3d5RRr2u3r2u3rUUur7Dd2Rr3Uur4u4l4u3Lul9", /* Perseus */
  520. "650206-40d8RrDdr4d2r3d5RRr8UULLLl6", /* Phoenix */
  521. "640601-43Dd3l2d2l6d3l4Dd4Ru3r7Uu3r7u3Rr7Uu4l5u3LLl", /* Pictor */
  522. "450108+33Ddl4Dd9Ll2Dd7RRr8Dd6Rru3Rr2Uu8Ll14UuLl2u2l2Uu2l10u3r2Uu3Ll8", /* Pisces */
  523. "562302-25Dd6RRr8Uu5LLl2", /* Piscis Austrinus */
  524. "570807-11DDDd3r6DdRRr14Uu7l9Uu7Ll7UUu9Ll7", /* Puppis */
  525. "560810-18DLl3d5l4Dd7Rr8UUu2l3", /* Pyxis */
  526. "560401-53d3l5d3l3Dd7Rr11Uu3l4u4Ll", /* Reticulum */
  527. "452005+22Dd4Rrur13u2RrUu2Ll5Dl9u2Ll5", /* Sagitta */
  528. "552002-12Dd7l5DDd5Rr10Uu3RRUr4Uu4LLu4Ll2", /* Sagittarius */
  529. "471606-08Dd9lDrd5l7DLLDd5Rr6u3r7UURr3u9LUUu2l6", /* Scorpius */
  530. "560111-25DDRRr8u4r5Uu5LLl11", /* Sculptor */
  531. "551900-04Dd6r9Uu6L", /* Scutum */
  532. "861814+06d4r4Dd4r4Dd6Rr11Ul7d2lu2Llu6RrULl6u3l2ur2u2l8bRbRbRbUbUd4l3Dd6l3Dd4Rr12UUUu5Ll2d3RD", /* Serpens */
  533. "551013+07DDd2Rr5UUu7Ll13", /* Sextans */
  534. "640600+29d6r3Dd2ld6r3u3r4ur5dRr5DDRr5dr4UUUlUuLl9Dl4dLL", /* Taurus */
  535. "552007-45Dd7RRr12Uu5LLl7", /* Telescopium */
  536. "560211+37d3l2d3r5Dd2r7d2Rr3u3r4Uu5Ll2u2l9", /* Triangulum */
  537. "561609-60dl3d3l2dLd3l3DdRRRrUu2Ll2u4l3u3l2ULl9", /* Triangulum Australe */
  538. "360106-58DDd5Rr2uRr8Uu3Rr13Uu4Ll7d2LLl6", /* Tucana */
  539. "641107+73Dd4Lld3Ll8dLl7Dd5r5Dd2Rr6Uu2Rr12Dd6rDDd2Rr13Uu3Rr2u6r9UuRr10u5Rr6UUr6Uu3LLLl7", /* Ursa Major */
  540. "342200+86RRRRrDr7d5Rr7DRr5d5RRu4r14Uu6l8u3Ll7Uu6RRRRRRr10u2RRRRRRRRRRrd2R", /* Ursa Minor */
  541. "560907-37DLLlDd7RRRr2u2r5u2r4u2r3Uu7l6Uu3Ll7", /* Vela */
  542. "551309+14Dd2LLl3DdRr3d7r6DDd3RRrUu8RrUu3r5UULu3l14uLl9", /* Virgo */
  543. "560900-64Dd5RRr7Uu6LLL", /* Volans */
  544. "462100+29dl8d4r3DRr5ur5uRrDr9u2Rru3Ll5u2l6u2LL"}; /* Vulpecula */
  545. #endif /* CONSTEL */
  546.  
  547. #endif /* GRAPH */
  548.  
  549. /* xdata.c */
  550.